package com.utils.export;

import java.text.SimpleDateFormat;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import com.google.common.collect.Lists;
import com.utils.dateUtil.DateUtil;
import com.wf.course.model.goods.GoodsOrder;
 


public class GoodsConfigExcelExporter{
	
	/**
	 * 类名称：GoodsOrderExcelExporter
	 * 类描述：实现商品订单信息表导出功能
	 * @version 1.0.0
	 */
	public void exportExcel(HttpServletResponse response,List<GoodsOrder> goodsOrderList) {
		
		// 定义导出的Excel文件名称
		String fileName = "商品订单信息表"+DateUtil.getDateString(new SimpleDateFormat("yyyyMMddHHmmss"));
		//数据处理
		
		//表头list
		List<String> headerList = Lists.newArrayList();
			headerList.add("序号");
			headerList.add("订单编号");
			headerList.add("微信支付单号");
			headerList.add("订单状态");
			headerList.add("订单生成时间");
			headerList.add("订单支付时间");
			headerList.add("用户手机");
			headerList.add("订单总金额");
			headerList.add("课程金额");
			headerList.add("铜钱使用");
			headerList.add("配置内容");
			headerList.add("配置信息");
		
		//数据集合
		List<List<String>> dataList = Lists.newArrayList();
		//序号
		int colNum = 0;
		//遍历数据
		for(GoodsOrder ord : goodsOrderList){
			colNum++;
			Object value;
			
			//每一行的数据list
			List<String> dataRowList = Lists.newArrayList();
			//序号
			dataRowList.add(String.valueOf(colNum));
			//订单编号
			value = ord.getOrderCode();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			//微信支付单编号
			value = ord.getTransaction_id();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			//订单状态
			value = ord.getOrderStatus();
			value = value == null ? "" : value;
			value = value == null ? "" : value;
			if("1".equals(String.valueOf(value))){
				dataRowList.add("待付款");
			}else if("2".equals(String.valueOf(value))){
				dataRowList.add("待收货");
			}else if("3".equals(String.valueOf(value))){
				dataRowList.add("待评价");
			}else if("4".equals(String.valueOf(value))){
				dataRowList.add("已完成");
			}else if("5".equals(String.valueOf(value))){
				dataRowList.add("取消订单");
			}
			
			//订单生成时间
			value = ord.getOrderTime();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			//订单支付时间
			value = ord.getOrderPayTime();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			//用户手机
			value = ord.getTelephone();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			//订单总额
			value = ord.getOrderAmount();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			//课程金额
			value = ord.getGoodsAmount();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			
			//铜钱使用
			value = ord.getCopperCash();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			
			//课程购买详情
			value = ord.getCourseDetailStr();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			
			//订单备注
			value = ord.getRemark();
			value = value == null ? "" : value;
			dataRowList.add(String.valueOf(value));
			
			
			dataList.add(dataRowList);
			
		}
		
		//导出数据
		ExportExcel.doExportExcel(response, fileName, headerList, dataList);
	}
}
